Create an integration source.
curl --request POST \
--url https://your_a2_service/api/developer/integration/sources \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"config": {
"data_source": {
"access_key": "<access_key>",
"bucket": "example-ad-logs",
"log_format": "json",
"path": "logs/",
"prefix": "events",
"region": "us-east-1",
"secret_key": "<secret_key>",
"source_type": "S3"
}
},
"interval_hours": 24,
"name": "S3 상품 적재",
"start_datetime": "2026-05-01T00:00:00+09:00",
"type": "ad_log"
}
'import requests
url = "https://your_a2_service/api/developer/integration/sources"
payload = {
"config": { "data_source": {
"access_key": "<access_key>",
"bucket": "example-ad-logs",
"log_format": "json",
"path": "logs/",
"prefix": "events",
"region": "us-east-1",
"secret_key": "<secret_key>",
"source_type": "S3"
} },
"interval_hours": 24,
"name": "S3 상품 적재",
"start_datetime": "2026-05-01T00:00:00+09:00",
"type": "ad_log"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {
data_source: {
access_key: '<access_key>',
bucket: 'example-ad-logs',
log_format: 'json',
path: 'logs/',
prefix: 'events',
region: 'us-east-1',
secret_key: '<secret_key>',
source_type: 'S3'
}
},
interval_hours: 24,
name: 'S3 상품 적재',
start_datetime: '2026-05-01T00:00:00+09:00',
type: 'ad_log'
})
};
fetch('https://your_a2_service/api/developer/integration/sources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your_a2_service/api/developer/integration/sources",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'data_source' => [
'access_key' => '<access_key>',
'bucket' => 'example-ad-logs',
'log_format' => 'json',
'path' => 'logs/',
'prefix' => 'events',
'region' => 'us-east-1',
'secret_key' => '<secret_key>',
'source_type' => 'S3'
]
],
'interval_hours' => 24,
'name' => 'S3 상품 적재',
'start_datetime' => '2026-05-01T00:00:00+09:00',
'type' => 'ad_log'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your_a2_service/api/developer/integration/sources"
payload := strings.NewReader("{\n \"config\": {\n \"data_source\": {\n \"access_key\": \"<access_key>\",\n \"bucket\": \"example-ad-logs\",\n \"log_format\": \"json\",\n \"path\": \"logs/\",\n \"prefix\": \"events\",\n \"region\": \"us-east-1\",\n \"secret_key\": \"<secret_key>\",\n \"source_type\": \"S3\"\n }\n },\n \"interval_hours\": 24,\n \"name\": \"S3 상품 적재\",\n \"start_datetime\": \"2026-05-01T00:00:00+09:00\",\n \"type\": \"ad_log\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your_a2_service/api/developer/integration/sources")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"data_source\": {\n \"access_key\": \"<access_key>\",\n \"bucket\": \"example-ad-logs\",\n \"log_format\": \"json\",\n \"path\": \"logs/\",\n \"prefix\": \"events\",\n \"region\": \"us-east-1\",\n \"secret_key\": \"<secret_key>\",\n \"source_type\": \"S3\"\n }\n },\n \"interval_hours\": 24,\n \"name\": \"S3 상품 적재\",\n \"start_datetime\": \"2026-05-01T00:00:00+09:00\",\n \"type\": \"ad_log\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your_a2_service/api/developer/integration/sources")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"data_source\": {\n \"access_key\": \"<access_key>\",\n \"bucket\": \"example-ad-logs\",\n \"log_format\": \"json\",\n \"path\": \"logs/\",\n \"prefix\": \"events\",\n \"region\": \"us-east-1\",\n \"secret_key\": \"<secret_key>\",\n \"source_type\": \"S3\"\n }\n },\n \"interval_hours\": 24,\n \"name\": \"S3 상품 적재\",\n \"start_datetime\": \"2026-05-01T00:00:00+09:00\",\n \"type\": \"ad_log\"\n}"
response = http.request(request)
puts response.read_body{
"config": {
"data_source": {
"access_key": "<string>",
"bucket": "<string>",
"log_format": "<string>",
"path": "<string>",
"prefix": "<string>",
"region": "<string>",
"secret_key": "<string>",
"source_type": "<string>"
},
"name_rules": {}
},
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"interval_hours": 123,
"name": "<string>",
"start_datetime": "2023-11-07T05:31:56Z",
"type": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"deleted": false,
"description": "<string>",
"no": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication. Pass the access token in the Authorization: Bearer <token> header.
Body
Request body for POST /integration/sources.
Configuration for the integration source
- IntegrationAdLogRequest
- IntegrationAdChannelConfig
Show child attributes
Show child attributes
Interval in hours between each run of the integration task
Name of the integration source
Start datetime for the integration task
Type of the integration source
Description of the integration source
Response
Successful Response
Full response schema (operator/admin).
Configuration for the integration source
- IntegrationAdLogConfig
- IntegrationAdChannelConfig
Show child attributes
Show child attributes
Unique identifier of the integration source
Interval in hours between each run of the integration task
Name of the integration source
Start datetime for the integration task
Type of the integration source
Soft-delete flag for the integration source
Description of the integration source
Was this page helpful?
curl --request POST \
--url https://your_a2_service/api/developer/integration/sources \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"config": {
"data_source": {
"access_key": "<access_key>",
"bucket": "example-ad-logs",
"log_format": "json",
"path": "logs/",
"prefix": "events",
"region": "us-east-1",
"secret_key": "<secret_key>",
"source_type": "S3"
}
},
"interval_hours": 24,
"name": "S3 상품 적재",
"start_datetime": "2026-05-01T00:00:00+09:00",
"type": "ad_log"
}
'import requests
url = "https://your_a2_service/api/developer/integration/sources"
payload = {
"config": { "data_source": {
"access_key": "<access_key>",
"bucket": "example-ad-logs",
"log_format": "json",
"path": "logs/",
"prefix": "events",
"region": "us-east-1",
"secret_key": "<secret_key>",
"source_type": "S3"
} },
"interval_hours": 24,
"name": "S3 상품 적재",
"start_datetime": "2026-05-01T00:00:00+09:00",
"type": "ad_log"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
config: {
data_source: {
access_key: '<access_key>',
bucket: 'example-ad-logs',
log_format: 'json',
path: 'logs/',
prefix: 'events',
region: 'us-east-1',
secret_key: '<secret_key>',
source_type: 'S3'
}
},
interval_hours: 24,
name: 'S3 상품 적재',
start_datetime: '2026-05-01T00:00:00+09:00',
type: 'ad_log'
})
};
fetch('https://your_a2_service/api/developer/integration/sources', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://your_a2_service/api/developer/integration/sources",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'config' => [
'data_source' => [
'access_key' => '<access_key>',
'bucket' => 'example-ad-logs',
'log_format' => 'json',
'path' => 'logs/',
'prefix' => 'events',
'region' => 'us-east-1',
'secret_key' => '<secret_key>',
'source_type' => 'S3'
]
],
'interval_hours' => 24,
'name' => 'S3 상품 적재',
'start_datetime' => '2026-05-01T00:00:00+09:00',
'type' => 'ad_log'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://your_a2_service/api/developer/integration/sources"
payload := strings.NewReader("{\n \"config\": {\n \"data_source\": {\n \"access_key\": \"<access_key>\",\n \"bucket\": \"example-ad-logs\",\n \"log_format\": \"json\",\n \"path\": \"logs/\",\n \"prefix\": \"events\",\n \"region\": \"us-east-1\",\n \"secret_key\": \"<secret_key>\",\n \"source_type\": \"S3\"\n }\n },\n \"interval_hours\": 24,\n \"name\": \"S3 상품 적재\",\n \"start_datetime\": \"2026-05-01T00:00:00+09:00\",\n \"type\": \"ad_log\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://your_a2_service/api/developer/integration/sources")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"config\": {\n \"data_source\": {\n \"access_key\": \"<access_key>\",\n \"bucket\": \"example-ad-logs\",\n \"log_format\": \"json\",\n \"path\": \"logs/\",\n \"prefix\": \"events\",\n \"region\": \"us-east-1\",\n \"secret_key\": \"<secret_key>\",\n \"source_type\": \"S3\"\n }\n },\n \"interval_hours\": 24,\n \"name\": \"S3 상품 적재\",\n \"start_datetime\": \"2026-05-01T00:00:00+09:00\",\n \"type\": \"ad_log\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your_a2_service/api/developer/integration/sources")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"config\": {\n \"data_source\": {\n \"access_key\": \"<access_key>\",\n \"bucket\": \"example-ad-logs\",\n \"log_format\": \"json\",\n \"path\": \"logs/\",\n \"prefix\": \"events\",\n \"region\": \"us-east-1\",\n \"secret_key\": \"<secret_key>\",\n \"source_type\": \"S3\"\n }\n },\n \"interval_hours\": 24,\n \"name\": \"S3 상품 적재\",\n \"start_datetime\": \"2026-05-01T00:00:00+09:00\",\n \"type\": \"ad_log\"\n}"
response = http.request(request)
puts response.read_body{
"config": {
"data_source": {
"access_key": "<string>",
"bucket": "<string>",
"log_format": "<string>",
"path": "<string>",
"prefix": "<string>",
"region": "<string>",
"secret_key": "<string>",
"source_type": "<string>"
},
"name_rules": {}
},
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"interval_hours": 123,
"name": "<string>",
"start_datetime": "2023-11-07T05:31:56Z",
"type": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"deleted": false,
"description": "<string>",
"no": 123
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}